.TH "ZIP_FILE_EXTRA_FIELD_DELETE" "3" "July 31, 2013" "NiH" "Library Functions Manual"
.nh
.if n .ad l
.SH "NAME"
\fBzip_file_extra_field_delete\fR,
\fBzip_file_extra_field_delete_by_id\fR
\- delete extra field for file in zip
.SH "LIBRARY"
libzip (-lzip)
.SH "SYNOPSIS"
\fB#include <zip.h>\fR
.sp
\fIint\fR
.br
\fBzip_file_extra_field_delete\fR(\fIstruct zip *archive\fR,\ \fIzip_uint64_t index\fR,\ \fIzip_uint16_t extra_field_index\fR,\ \fIzip_flags_t flags\fR);
.sp
\fIint\fR
.br
\fBzip_file_extra_field_delete_by_id\fR(\fIstruct zip *archive\fR,\ \fIzip_uint64_t index\fR,\ \fIzip_uint16_t extra_field_id\fR,\ \fIzip_uint16_t extra_field_index\fR,\ \fIzip_flags_t flags\fR);
.SH "DESCRIPTION"
The
\fBzip_file_extra_field_delete\fR()
function deletes the extra field with index
\fIextra_field_index\fR
for the file at position
\fIindex\fR
in the zip archive.
.PP
If
\fIextra_field_index\fR
is
\fRZIP_EXTRA_FIELD_ALL\fR,
then all extra fields will be deleted.
.PP
The following
\fIflags\fR
are supported:
.RS 6n
.TP 18n
\fRZIP_FL_CENTRAL\fR
Delete extra fields from the archive's central directory.
.TP 18n
\fRZIP_FL_LOCAL\fR
Delete extra fields from the local file headers.
.RE
.PP
The
\fBzip_file_extra_field_delete_by_id\fR()
function deletes the extra field with ID (two-byte signature)
\fIextra_field_id\fR
and index
\fIextra_field_index\fR
(in other words, the
\fIextra_field_index\fR'th
extra field with ID
\fIextra_field_id\fR)
The other arguments are the same as for
\fBzip_file_extra_field_delete\fR()
(\fRZIP_EXTRA_FIELD_ALL\fR
will delete all extra fields of the specified ID).
.PP
Please note that due to the library design, the index of an extra
field may be different between central directory and local file
headers.
For this reason, it is not allowed to specify both
\fRZIP_FL_CENTRAL\fR
and
\fRZIP_FL_LOCAL\fR
in
\fIflags\fR,
except when deleting all extra fields (i.e.,
\fIextra_field_index\fR
being
\fRZIP_EXTRA_FIELD_ALL\fR).
.SH "RETURN VALUES"
Upon successful completion 0 is returned.
Otherwise, \-1 is returned and the error code in
\fIarchive\fR
is set to indicate the error.
.SH "ERRORS"
\fBzip_file_extra_field_delete\fR()
and
\fBzip_file_extra_field_delete_by_id\fR()
fail if:
.TP 19n
[\fRZIP_ER_NOENT\fR]
\fIindex\fR
is not a valid file index in
\fIarchive\fR.
.SH "SEE ALSO"
libzip(3),
zip_file_extra_field_get(3),
zip_file_extra_field_set(3),
zip_file_extra_fields_count(3)
.SH "AUTHORS"
Dieter Baron <\fIdillo@nih.at\fR>
and
Thomas Klausner <\fItk@giga.or.at\fR>
